package com.xhwl.centiotdata.pojo.dto.ganwei;

import lombok.Data;
import lombok.Setter;

@Setter
public class GanweiRomaDataChangedDTO {

	//通知类型 deviceDataChanged
	private String notifyType;
	private String requestId;
	private String deviceId;
	private String deviceType;
	private String gatewayId;
	private String gatewayType;
	//事件发生的本地时间，格式：yyyymmddhhmiss。 例如：20151212201212。过时字段。
	private String eventTime;
	//事件发生的UTC时间，格式：yyyymmdd'T'HHmmss'Z'。 例如：20151212T121212Z。
	private String eventTimeUTC;
	private String manufacturerId;
	private String model;
	private DataChangedService service;
	
	public String getNotifyType() {
		return notifyType;
	}

	public String getRequestId() {
		return requestId;
	}

	public String getDeviceId() {
		return deviceId;
	}

	public String getDeviceType() {
		return deviceType;
	}

	public String getGatewayId() {
		return gatewayId;
	}

	public String getGatewayType() {
		return gatewayType;
	}

	public String getEventTime() {
		return eventTime;
	}

	public String getEventTimeUTC() {
		return eventTimeUTC;
	}

	public String getManufacturerId() {
		return manufacturerId;
	}

	public String getModel() {
		return model;
	}

	public DataChangedService getService() {
		if(service == null) {
			service = new DataChangedService();
		}
		return service;
	}

	@Setter
	public static class DataChangedService {
		private String eventTime;
	    private String serviceId;
	    private String serviceType;
	    private DeviceData data;
		public String getEventTime() {
			return eventTime;
		}
		public String getServiceId() {
			return serviceId;
		}
		public String getServiceType() {
			return serviceType;
		}
		public DeviceData getData() {
			if(data == null) {
				data = new DeviceData();
			}
			return data;
		}
	}
	
	@Data
	public static class DeviceData {
		private String supplyAirHumidity;
	    private String runningStatus;
	    private String supplyAirDifferentialPressure;
	    private String filterMeshDifferentialPressure;
	    private String draughtFanStartAndStop;
	    private String returnAirDifferentialPressure;
	    private String fanFaultStatus;
	    private String supplyAirTemperature;
	    private String automaticHandStatus;
	    private String returnAirHumidity;
	    private String returnAirTemperature;
	}
}
